[INFO] cloning repository https://github.com/uchicago-cmsc23500-win-2026/crustydb-upstream
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/uchicago-cmsc23500-win-2026/crustydb-upstream" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fuchicago-cmsc23500-win-2026%2Fcrustydb-upstream", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fuchicago-cmsc23500-win-2026%2Fcrustydb-upstream'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bf1eee86dffaf0456cd7065410a6622bf0127aa7
[INFO] checking uchicago-cmsc23500-win-2026/crustydb-upstream against master#4eb62535fc12dd1a63fd43a4173e224e79313c4d for pr-158816
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fuchicago-cmsc23500-win-2026%2Fcrustydb-upstream" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/uchicago-cmsc23500-win-2026/crustydb-upstream
[INFO] finished tweaking git repo https://github.com/uchicago-cmsc23500-win-2026/crustydb-upstream
[INFO] tweaked toml for git repo https://github.com/uchicago-cmsc23500-win-2026/crustydb-upstream written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/uchicago-cmsc23500-win-2026/crustydb-upstream on toolchain 4eb62535fc12dd1a63fd43a4173e224e79313c4d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/uchicago-cmsc23500-win-2026/crustydb-upstream already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded half v1.8.3
[INFO] [stderr]   Downloaded serde_cbor v0.11.2
[INFO] [stderr]   Downloaded env_logger v0.10.2
[INFO] [stderr]   Downloaded temp_testdir v0.2.3
[INFO] [stderr]   Downloaded rstest v0.18.2
[INFO] [stderr]   Downloaded clap v4.5.58
[INFO] [stderr]   Downloaded rstest_macros v0.18.2
[INFO] [stderr]   Downloaded humantime v1.3.0
[INFO] [stderr]   Downloaded rustyline v13.0.0
[INFO] [stderr]   Downloaded clap_builder v4.5.58
[INFO] [stderr]   Downloaded sqlparser v0.41.0
[INFO] [stderr]   Downloaded libc v0.2.181
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] cc04cb969737c5bab36fc59d4900f67478c8b09b2cc39b7404c2bbc89f2d0e0a
[INFO] running `Command { std: "docker" "start" "cc04cb969737c5bab36fc59d4900f67478c8b09b2cc39b7404c2bbc89f2d0e0a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cc04cb969737c5bab36fc59d4900f67478c8b09b2cc39b7404c2bbc89f2d0e0a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cc04cb969737c5bab36fc59d4900f67478c8b09b2cc39b7404c2bbc89f2d0e0a" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cc04cb969737c5bab36fc59d4900f67478c8b09b2cc39b7404c2bbc89f2d0e0a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cc04cb969737c5bab36fc59d4900f67478c8b09b2cc39b7404c2bbc89f2d0e0a" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling libc v0.2.181
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]     Checking regex-syntax v0.8.9
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]     Checking csv-core v0.1.13
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]     Checking clap_builder v4.5.58
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking half v1.8.3
[INFO] [stderr]     Checking humantime v2.3.0
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling relative-path v1.9.3
[INFO] [stderr]    Compiling syn v2.0.115
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling rstest_macros v0.18.2
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking sqlparser v0.41.0
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking chrono v0.4.43
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]     Checking endian-type v0.1.2
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking temp_testdir v0.2.3
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]     Checking home v0.5.12
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking fd-lock v4.0.4
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking nix v0.27.1
[INFO] [stderr]     Checking tempfile v3.25.0
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking csv v1.4.0
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking rustyline v13.0.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking clap v4.5.58
[INFO] [stderr]     Checking serde_cbor v0.11.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking rstest v0.18.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking common v0.1.0 (/opt/rustwide/workdir/src/common)
[INFO] [stderr]     Checking utilities v0.1.0 (/opt/rustwide/workdir/src/utilities)
[INFO] [stderr]     Checking heapstore v0.1.0 (/opt/rustwide/workdir/src/storage/heapstore)
[INFO] [stderr]     Checking memstore v0.1.0 (/opt/rustwide/workdir/src/storage/memstore)
[INFO] [stderr]     Checking txn_manager v0.1.0 (/opt/rustwide/workdir/src/txn_manager)
[INFO] [stderr]     Checking cli-crusty v0.1.0 (/opt/rustwide/workdir/src/cli-crusty)
[INFO] [stdout] warning: unused imports: `c_void`, `pread`, and `pwrite`
[INFO] [stdout]  --> src/storage/heapstore/src/base_file.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use libc::{c_void, fsync, pread, pwrite};
[INFO] [stdout]   |            ^^^^^^         ^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::heap_page::HeapPage`
[INFO] [stdout]  --> src/storage/heapstore/src/heap_file.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::heap_page::HeapPage;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `common::error::c_err`
[INFO] [stdout]  --> src/storage/heapstore/src/heap_file.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use common::error::c_err;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hasher`
[INFO] [stdout]  --> src/storage/heapstore/src/page.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::hash::Hasher;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `c_void`, `pread`, and `pwrite`
[INFO] [stdout]  --> src/storage/heapstore/src/base_file.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use libc::{c_void, fsync, pread, pwrite};
[INFO] [stdout]   |            ^^^^^^         ^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::heap_page::HeapPage`
[INFO] [stdout]  --> src/storage/heapstore/src/heap_file.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::heap_page::HeapPage;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `common::error::c_err`
[INFO] [stdout]  --> src/storage/heapstore/src/heap_file.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use common::error::c_err;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hasher`
[INFO] [stdout]  --> src/storage/heapstore/src/page.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::hash::Hasher;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/storage/heapstore/src/base_file.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |             panic!("TODO milestone hs");
[INFO] [stdout]     |             --------------------------- any code following this expression is unreachable
[INFO] [stdout] 111 |         }
[INFO] [stdout] 112 |         debug_assert!(page.get_page_id() == page_id, "Page id mismatch");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/storage/heapstore/src/base_file.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |             panic!("TODO milestone hs");
[INFO] [stdout]     |             --------------------------- any code following this expression is unreachable
[INFO] [stdout] 132 |         }
[INFO] [stdout] 133 |         Ok(())
[INFO] [stdout]     |         ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/storage/heapstore/src/base_file.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |             panic!("TODO milestone hs");
[INFO] [stdout]     |             --------------------------- any code following this expression is unreachable
[INFO] [stdout] 111 |         }
[INFO] [stdout] 112 |         debug_assert!(page.get_page_id() == page_id, "Page id mismatch");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/storage/heapstore/src/base_file.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |             panic!("TODO milestone hs");
[INFO] [stdout]     |             --------------------------- any code following this expression is unreachable
[INFO] [stdout] 132 |         }
[INFO] [stdout] 133 |         Ok(())
[INFO] [stdout]     |         ^^^^^^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/storage/heapstore/src/base_file.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page`
[INFO] [stdout]   --> src/storage/heapstore/src/base_file.rs:90:42
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn read_page(&self, page_id: PageId, page: &mut Page) -> Result<(), std::io::Error> {
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_page`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/storage/heapstore/src/base_file.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:69:44
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn get_val(&self, page_id: PageId, slot_id: SlotId) -> Result<Vec<u8>, CrustyError> {
[INFO] [stdout]    |                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let page = self.get_page_for_read(page_id);
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_page`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mut page = self.get_page_for_write(page_id);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:75:47
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn delete_val(&self, page_id: PageId, slot_id: SlotId) -> Result<(), CrustyError> {
[INFO] [stdout]    |                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mut page = self.get_page_for_write(page_id);
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut page = self.get_page_for_write(page_id);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         slot_id: SlotId,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |         val: &[u8],
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut page = self.get_page_for_write(page_id);
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:92:27
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn add_val(&self, val: &[u8]) -> Result<ValueId, CrustyError> {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page_id`
[INFO] [stdout]    --> src/storage/heapstore/src/heap_file.rs:114:40
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn iter_from(self: &Arc<Self>, page_id: PageId, slot_id: SlotId) -> HeapFileIter<T> {
[INFO] [stdout]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]    --> src/storage/heapstore/src/heap_file.rs:114:57
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn iter_from(self: &Arc<Self>, page_id: PageId, slot_id: SlotId) -> HeapFileIter<T> {
[INFO] [stdout]     |                                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_page.rs:96:29
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn add_value(&mut self, bytes: &[u8]) -> Option<SlotId> {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]    --> src/storage/heapstore/src/heap_page.rs:100:25
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn get_value(&self, slot_id: SlotId) -> Option<&[u8]> {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]    --> src/storage/heapstore/src/heap_page.rs:104:32
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn delete_value(&mut self, slot_id: SlotId) -> Option<()> {
[INFO] [stdout]     |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]    --> src/storage/heapstore/src/heap_page.rs:108:32
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn update_value(&mut self, slot_id: SlotId, bytes: &[u8]) -> Option<()> {
[INFO] [stdout]     |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]    --> src/storage/heapstore/src/heap_page.rs:108:49
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn update_value(&mut self, slot_id: SlotId, bytes: &[u8]) -> Option<()> {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page_id`
[INFO] [stdout]   --> src/storage/heapstore/src/page.rs:70:16
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn new(page_id: PageId) -> Self {
[INFO] [stdout]    |                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page_id`
[INFO] [stdout]    --> src/storage/heapstore/src/page.rs:105:35
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn set_page_id(&mut self, page_id: PageId) {
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lsn`
[INFO] [stdout]    --> src/storage/heapstore/src/page.rs:133:31
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn set_lsn(&mut self, lsn: Lsn) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_lsn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_id`
[INFO] [stdout]   --> src/storage/heapstore/src/storage_manager.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn get_heapfile(&self, c_id: ContainerId) -> Result<Arc<HF>, CrustyError> {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_c_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/storage/heapstore/src/storage_manager.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut hf_map = HashMap::new();
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_id`
[INFO] [stdout]   --> src/storage/heapstore/src/storage_manager.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         for c_id in cfc.container_ids() {
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_c_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let page_id = id.page_id.ok_or(c_err("Need page id"))?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let slot_id = id.slot_id.ok_or(c_err("Need slot id"))?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         value: Vec<u8>,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let page_id = id.page_id.ok_or(c_err("Need page id"))?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let slot_id = id.slot_id.ok_or(c_err("Need slot id"))?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `container_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |         container_id: ContainerId,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_container_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `container_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |         container_id: ContainerId,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_container_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:195:13
[INFO] [stdout]     |
[INFO] [stdout] 195 |         let page_id = start.page_id.ok_or(c_err("Need page id")).unwrap();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:196:13
[INFO] [stdout]     |
[INFO] [stdout] 196 |         let slot_id = start.slot_id.ok_or(c_err("Need slot id")).unwrap();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let c_id = id.container_id;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_c_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |         let page_id = id.page_id.ok_or(c_err("Need page id"))?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let slot_id = id.slot_id.ok_or(c_err("Need slot id"))?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPIN_TIME_READ_MICRO_SEC` is never used
[INFO] [stdout]   --> src/storage/heapstore/src/base_file_mock.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const SPIN_TIME_READ_MICRO_SEC: f64 = 2.94; // 340K IOPS
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPIN_TIME_WRITE_MICRO_SEC` is never used
[INFO] [stdout]   --> src/storage/heapstore/src/base_file_mock.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const SPIN_TIME_WRITE_MICRO_SEC: f64 = 3.64; // 275K IOPS
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/heapstore/src/heap_file.rs:23:8
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl<T: MemPool> HeapFile<T> {
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout]  22 |     /// Helper function to fetch a page for read from the buffer pool.
[INFO] [stdout]  23 |     fn get_page_for_read(&self, page_id: PageId) -> FrameReadGuard<'_> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  30 |     fn get_page_for_write(&self, page_id: PageId) -> FrameWriteGuard<'_> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  37 |     pub fn new(c_id: ContainerId, mem_pool: Arc<T>) -> Result<Self, CrustyError> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn load(c_id: ContainerId, mem_pool: Arc<T>) -> Result<Self, CrustyError> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn get_val(&self, page_id: PageId, slot_id: SlotId) -> Result<Vec<u8>, CrustyError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn delete_val(&self, page_id: PageId, slot_id: SlotId) -> Result<(), CrustyError> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn update_val(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn add_val(&self, val: &[u8]) -> Result<ValueId, CrustyError> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn add_vals(
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn iter(self: &Arc<Self>) -> HeapFileIter<T> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn iter_from(self: &Arc<Self>, page_id: PageId, slot_id: SlotId) -> HeapFileIter<T> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `heapfile`, `finished`, `first_page`, `current_slot_id`, and `current_page` are never read
[INFO] [stdout]    --> src/storage/heapstore/src/heap_file.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct HeapFileIter<T: MemPool> {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 124 |     heapfile: Arc<HeapFile<T>>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 125 |     initialized: bool,
[INFO] [stdout] 126 |     finished: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 127 |     first_page: PageId,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 128 |     current_slot_id: SlotId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 129 |     current_page: Option<FrameReadGuard<'static>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_from` and `get_page` are never used
[INFO] [stdout]    --> src/storage/heapstore/src/heap_file.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 132 | impl<T: MemPool> HeapFileIter<T> {
[INFO] [stdout]     | -------------------------------- associated items in this implementation
[INFO] [stdout] 133 |     fn new_from(heapfile: Arc<HeapFile<T>>, page_id: PageId, slot_id: SlotId) -> Self {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     fn get_page(&self, page_id: PageId) -> FrameReadGuard<'static> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `page` is never read
[INFO] [stdout]    --> src/storage/heapstore/src/heap_page.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct HeapPageIter<'a> {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 132 |     page: &'a Page,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/storage/heapstore/src/base_file.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page`
[INFO] [stdout]   --> src/storage/heapstore/src/base_file.rs:90:42
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn read_page(&self, page_id: PageId, page: &mut Page) -> Result<(), std::io::Error> {
[INFO] [stdout]    |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_page`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking storage v0.1.0 (/opt/rustwide/workdir/src/storage)
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/storage/heapstore/src/base_file.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:69:44
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn get_val(&self, page_id: PageId, slot_id: SlotId) -> Result<Vec<u8>, CrustyError> {
[INFO] [stdout]    |                                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let page = self.get_page_for_read(page_id);
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_page`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mut page = self.get_page_for_write(page_id);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:75:47
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn delete_val(&self, page_id: PageId, slot_id: SlotId) -> Result<(), CrustyError> {
[INFO] [stdout]    |                                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mut page = self.get_page_for_write(page_id);
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut page = self.get_page_for_write(page_id);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         slot_id: SlotId,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |         val: &[u8],
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut page = self.get_page_for_write(page_id);
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_file.rs:92:27
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn add_val(&self, val: &[u8]) -> Result<ValueId, CrustyError> {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page_id`
[INFO] [stdout]    --> src/storage/heapstore/src/heap_file.rs:114:40
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn iter_from(self: &Arc<Self>, page_id: PageId, slot_id: SlotId) -> HeapFileIter<T> {
[INFO] [stdout]     |                                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]    --> src/storage/heapstore/src/heap_file.rs:114:57
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn iter_from(self: &Arc<Self>, page_id: PageId, slot_id: SlotId) -> HeapFileIter<T> {
[INFO] [stdout]     |                                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]   --> src/storage/heapstore/src/heap_page.rs:96:29
[INFO] [stdout]    |
[INFO] [stdout] 96 |     fn add_value(&mut self, bytes: &[u8]) -> Option<SlotId> {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]    --> src/storage/heapstore/src/heap_page.rs:100:25
[INFO] [stdout]     |
[INFO] [stdout] 100 |     fn get_value(&self, slot_id: SlotId) -> Option<&[u8]> {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]    --> src/storage/heapstore/src/heap_page.rs:104:32
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn delete_value(&mut self, slot_id: SlotId) -> Option<()> {
[INFO] [stdout]     |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]    --> src/storage/heapstore/src/heap_page.rs:108:32
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn update_value(&mut self, slot_id: SlotId, bytes: &[u8]) -> Option<()> {
[INFO] [stdout]     |                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]    --> src/storage/heapstore/src/heap_page.rs:108:49
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn update_value(&mut self, slot_id: SlotId, bytes: &[u8]) -> Option<()> {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking index v0.1.0 (/opt/rustwide/workdir/src/index)
[INFO] [stdout] warning: unused variable: `page_id`
[INFO] [stdout]   --> src/storage/heapstore/src/page.rs:70:16
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn new(page_id: PageId) -> Self {
[INFO] [stdout]    |                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page_id`
[INFO] [stdout]    --> src/storage/heapstore/src/page.rs:105:35
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn set_page_id(&mut self, page_id: PageId) {
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lsn`
[INFO] [stdout]    --> src/storage/heapstore/src/page.rs:133:31
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn set_lsn(&mut self, lsn: Lsn) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_lsn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_id`
[INFO] [stdout]   --> src/storage/heapstore/src/storage_manager.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn get_heapfile(&self, c_id: ContainerId) -> Result<Arc<HF>, CrustyError> {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_c_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/storage/heapstore/src/storage_manager.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut hf_map = HashMap::new();
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_id`
[INFO] [stdout]   --> src/storage/heapstore/src/storage_manager.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         for c_id in cfc.container_ids() {
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_c_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:118:13
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let page_id = id.page_id.ok_or(c_err("Need page id"))?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let slot_id = id.slot_id.ok_or(c_err("Need slot id"))?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         value: Vec<u8>,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let page_id = id.page_id.ok_or(c_err("Need page id"))?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let slot_id = id.slot_id.ok_or(c_err("Need slot id"))?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `container_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |         container_id: ContainerId,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_container_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `container_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |         container_id: ContainerId,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_container_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:195:13
[INFO] [stdout]     |
[INFO] [stdout] 195 |         let page_id = start.page_id.ok_or(c_err("Need page id")).unwrap();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:196:13
[INFO] [stdout]     |
[INFO] [stdout] 196 |         let slot_id = start.slot_id.ok_or(c_err("Need slot id")).unwrap();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let c_id = id.container_id;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_c_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `page_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |         let page_id = id.page_id.ok_or(c_err("Need page id"))?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slot_id`
[INFO] [stdout]    --> src/storage/heapstore/src/storage_manager.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let slot_id = id.slot_id.ok_or(c_err("Need slot id"))?;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_slot_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPIN_TIME_READ_MICRO_SEC` is never used
[INFO] [stdout]   --> src/storage/heapstore/src/base_file_mock.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const SPIN_TIME_READ_MICRO_SEC: f64 = 2.94; // 340K IOPS
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPIN_TIME_WRITE_MICRO_SEC` is never used
[INFO] [stdout]   --> src/storage/heapstore/src/base_file_mock.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const SPIN_TIME_WRITE_MICRO_SEC: f64 = 3.64; // 275K IOPS
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_page_for_write`, `delete_val`, `update_val`, and `iter_from` are never used
[INFO] [stdout]    --> src/storage/heapstore/src/heap_file.rs:30:8
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl<T: MemPool> HeapFile<T> {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  30 |     fn get_page_for_write(&self, page_id: PageId) -> FrameWriteGuard<'_> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn delete_val(&self, page_id: PageId, slot_id: SlotId) -> Result<(), CrustyError> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn update_val(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn iter_from(self: &Arc<Self>, page_id: PageId, slot_id: SlotId) -> HeapFileIter<T> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `heapfile`, `finished`, `first_page`, `current_slot_id`, and `current_page` are never read
[INFO] [stdout]    --> src/storage/heapstore/src/heap_file.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct HeapFileIter<T: MemPool> {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 124 |     heapfile: Arc<HeapFile<T>>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 125 |     initialized: bool,
[INFO] [stdout] 126 |     finished: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 127 |     first_page: PageId,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 128 |     current_slot_id: SlotId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 129 |     current_page: Option<FrameReadGuard<'static>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_from` and `get_page` are never used
[INFO] [stdout]    --> src/storage/heapstore/src/heap_file.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 132 | impl<T: MemPool> HeapFileIter<T> {
[INFO] [stdout]     | -------------------------------- associated items in this implementation
[INFO] [stdout] 133 |     fn new_from(heapfile: Arc<HeapFile<T>>, page_id: PageId, slot_id: SlotId) -> Self {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     fn get_page(&self, page_id: PageId) -> FrameReadGuard<'static> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `page` is never read
[INFO] [stdout]    --> src/storage/heapstore/src/heap_page.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct HeapPageIter<'a> {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 132 |     page: &'a Page,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking queryexe v0.1.0 (/opt/rustwide/workdir/src/queryexe)
[INFO] [stdout] warning: unused variable: `group_key`
[INFO] [stdout]    --> src/queryexe/src/opiterator/aggregate.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let group_key = self
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_group_key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `managers`
[INFO] [stdout]   --> src/queryexe/src/opiterator/hash_join.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         managers: &'static Managers,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_managers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]   --> src/queryexe/src/opiterator/hash_join.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         schema: TableSchema,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left_expr`
[INFO] [stdout]   --> src/queryexe/src/opiterator/hash_join.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         left_expr: ByteCodeExpr,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right_expr`
[INFO] [stdout]   --> src/queryexe/src/opiterator/hash_join.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         right_expr: ByteCodeExpr,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left_child`
[INFO] [stdout]   --> src/queryexe/src/opiterator/hash_join.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         left_child: Box<dyn OpIterator>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right_child`
[INFO] [stdout]   --> src/queryexe/src/opiterator/hash_join.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         right_child: Box<dyn OpIterator>,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `agg_expr`, `ops`, `acc`, and `acc_iter` are never read
[INFO] [stdout]   --> src/queryexe/src/opiterator/aggregate.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Aggregate {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     agg_expr: Vec<ByteCodeExpr>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 23 |     /// Aggregation operations.
[INFO] [stdout] 24 |     ops: Vec<AggOp>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     acc: HashMap<Vec<Field>, (usize, Vec<Field>)>, // groupby values -> (count, aggregate values)
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 35 |     /// Accumulator iter
[INFO] [stdout] 36 |     acc_iter: Vec<Tuple>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `merge_fields` is never used
[INFO] [stdout]   --> src/queryexe/src/opiterator/aggregate.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Aggregate {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 85 |     fn merge_fields(op: AggOp, field_val: &Field, acc: &mut Field) -> Result<(), CrustyError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `left_expr`, `right_expr`, and `join_map` are never read
[INFO] [stdout]   --> src/queryexe/src/opiterator/hash_join.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct HashEqJoin {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     left_expr: ByteCodeExpr,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 17 |     right_expr: ByteCodeExpr,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     join_map: HashMap<Field, Vec<Tuple>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `op`, `left_expr`, and `right_expr` are never read
[INFO] [stdout]   --> src/queryexe/src/opiterator/nested_loop_join.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct NestedLoopJoin {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     op: BinaryOp,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 13 |     left_expr: ByteCodeExpr,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 14 |     right_expr: ByteCodeExpr,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `group_key`
[INFO] [stdout]    --> src/queryexe/src/opiterator/aggregate.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let group_key = self
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_group_key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `managers`
[INFO] [stdout]   --> src/queryexe/src/opiterator/hash_join.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |         managers: &'static Managers,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_managers`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `schema`
[INFO] [stdout]   --> src/queryexe/src/opiterator/hash_join.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         schema: TableSchema,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_schema`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left_expr`
[INFO] [stdout]   --> src/queryexe/src/opiterator/hash_join.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         left_expr: ByteCodeExpr,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right_expr`
[INFO] [stdout]   --> src/queryexe/src/opiterator/hash_join.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         right_expr: ByteCodeExpr,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left_child`
[INFO] [stdout]   --> src/queryexe/src/opiterator/hash_join.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         left_child: Box<dyn OpIterator>,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right_child`
[INFO] [stdout]   --> src/queryexe/src/opiterator/hash_join.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         right_child: Box<dyn OpIterator>,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_child`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking optimizer v0.1.0 (/opt/rustwide/workdir/src/optimizer)
[INFO] [stderr]     Checking server v0.1.0 (/opt/rustwide/workdir/src/server)
[INFO] [stdout] warning: fields `agg_expr`, `ops`, `acc`, and `acc_iter` are never read
[INFO] [stdout]   --> src/queryexe/src/opiterator/aggregate.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Aggregate {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     agg_expr: Vec<ByteCodeExpr>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 23 |     /// Aggregation operations.
[INFO] [stdout] 24 |     ops: Vec<AggOp>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     acc: HashMap<Vec<Field>, (usize, Vec<Field>)>, // groupby values -> (count, aggregate values)
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 35 |     /// Accumulator iter
[INFO] [stdout] 36 |     acc_iter: Vec<Tuple>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `merge_fields` is never used
[INFO] [stdout]   --> src/queryexe/src/opiterator/aggregate.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Aggregate {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 85 |     fn merge_fields(op: AggOp, field_val: &Field, acc: &mut Field) -> Result<(), CrustyError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `left_expr`, `right_expr`, and `join_map` are never read
[INFO] [stdout]   --> src/queryexe/src/opiterator/hash_join.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct HashEqJoin {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     left_expr: ByteCodeExpr,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 17 |     right_expr: ByteCodeExpr,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     join_map: HashMap<Field, Vec<Tuple>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `op`, `left_expr`, and `right_expr` are never read
[INFO] [stdout]   --> src/queryexe/src/opiterator/nested_loop_join.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct NestedLoopJoin {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     op: BinaryOp,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 13 |     left_expr: ByteCodeExpr,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 14 |     right_expr: ByteCodeExpr,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `tempfile::TempDir::into_path`: use TempDir::keep()
[INFO] [stdout]    --> src/server/src/server.rs:460:57
[INFO] [stdout]     |
[INFO] [stdout] 460 |             let base_dir = tempfile::tempdir().unwrap().into_path();
[INFO] [stdout]     |                                                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `tempfile::TempDir::into_path`: use TempDir::keep()
[INFO] [stdout]    --> src/server/src/server.rs:482:57
[INFO] [stdout]     |
[INFO] [stdout] 482 |             let base_dir = tempfile::tempdir().unwrap().into_path();
[INFO] [stdout]     |                                                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.06s
[INFO] running `Command { std: "docker" "inspect" "cc04cb969737c5bab36fc59d4900f67478c8b09b2cc39b7404c2bbc89f2d0e0a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cc04cb969737c5bab36fc59d4900f67478c8b09b2cc39b7404c2bbc89f2d0e0a", kill_on_drop: false }`
[INFO] [stdout] cc04cb969737c5bab36fc59d4900f67478c8b09b2cc39b7404c2bbc89f2d0e0a
